Transmitters and receivers used in a radio system typically form transceivers, examples of which include transceivers in subscriber terminals, such as mobile phones, and transceivers of a base station.
The aim in data transmission is often to ensure its success between transceivers. Digital data transmission often uses retransmitting error correction, in which the sender is notified of transmission errors, who then retransmits the erroneous information. One known method is Selective Reject ARQ (Automatic Repeat reQuest), in which a transmitter can transmit a new block before the previous one is acknowledged and the transmitter can retransmit only the blocks whose reception fails. A group of data frames that the transmitter can transmit consecutively without acknowledgement from the receiver is in this protocol called a transmission window.
EGPRS (Enhanced General Packet Radio Service) is a GSM-based (Global System for Mobile Communications) system utilising packet-switched transmission. EGPRS uses EDGE (Enhanced Data Rates for GSM Evolution) technology to increase data transmission capacity. In addition to GMSK (Gaussian Minimum-Shift Keying) modulation normally used in GMS, 8-PSK (8-Phase Shift Keying) modulation can be used for packet data channels. The aim is mainly to implement non-real-time data transmission services, such as file copying and the use of an Internet browser. The aim is also to implement packet-switched real-time services for instance to transmit speech and video. In principle, the data transmission capacity can vary from a few kilobits per second up to 400 kilobits per second.
Let us now examine an example of error correction in the above-mentioned system on a connection between two transceivers. The first transceiver transmits data in data blocks to the second transceiver. The first transceiver attaches identifiers to the data blocks to be transmitted for identification during reception in such a manner that the identifiers are reserved from a finite identifier space. The identifiers are reserved cyclically in such a manner that when the last identifier is used, the cycle starts again from the beginning. When the reception of a data block fails in the second transceiver, the block needs to be retransmitted. The bi-directional connection between the first and the second transceiver makes it possible for the second transceiver to transmit a retransmission request to the first transceiver. On the basis of the received retransmission request, the first transceiver retransmits the data block to the second transceiver that identifies the block as a retransmission of the earlier failed block on the basis of the identifier. The second transceiver maintains information on the position of a receiver window related to the ARQ protocol. The window is a part of the identifier space and always begins from the first block that has not yet been correctly received. Typically, the size of the window is half of the identifier space. If the second transceiver receives a block whose identifier is not in the window, it knows that said block has already been received once and it can be disregarded.
To further improve performance, it is possible to use an incremental redundancy, in which the second transceiver is equipped with a receiver memory to which all data blocks whose reception failed are stored. Failure in reception may be caused by the fact, for instance, that the conditions of the used radio channel change so quickly that it is impossible for the radio system to optimally select a code rate in advance for the incoming transmission. The use of the incremental redundancy allows for a better adaptation to changing conditions. Data blocks whose reception failed are retransmitted from the first transceiver. Retransmitted data blocks and stored data blocks having the same identifiers are combined, after which the second transceiver decodes the combined data blocks. During the combination, the amount of information available for decoding increases in comparison with the amount of information in a single data block, so decoding has a higher probability of success.
The intention thus is to combine the different transmissions of the same data block. That the data blocks are the same is determined from the fact that they have the same identifiers.
The cycling of identifiers causes a problem, because when data blocks are compared with each other, data blocks may be found with the same identifiers, even though the data blocks are actually different. In the data transmission described above, it is possible that data blocks having the same identifier are erroneously considered the same for combination purposes, even though they are different. When different data blocks are combined, transceiver operation fails.
Another problem is caused by the fact that the incremental redundancy (IR) combination is done before channel coding, whereas the Selective Reject ARQ protocol operates on a higher protocol layer. In practice, the IR combination and ARQ protocol can reside physically in different places or devices, in which case the information in the ARQ protocol cannot be used in the IR combination.